package com.mokairui.example;

/**
 * @Program: java-basic-summary
 * @Description:
 * @Author Mokairui
 * @Date 2021/5/23 17:46
 */
public class TestDemo2 {
    /**
     * 前面说野生是没有去重的，但是可以手动设置收留野生的字符串
     * intern() 总会返回家养的StringTable对象
     *  调用intern的对象如果没有
     *      jdk1.7之后：会将String对象加入到StringTable中再返回
     *      jdk1.7之前：野生的对象会被复制再放入StringTable中
     */
    public static void main(String[] args) {
        String x = new String(new char[]{'a', 'b', 'c'}); // 野生的
        String y = "abc"; // 家养的,放入StringTable
        String z = x.intern(); // 已有，返回StringTable中的"abc" 即返回的是 y
        System.out.println(z == x); // false
        System.out.println(z == y); // true
    }
}
